/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.webhomesites.padrao.model;

import br.com.webhomesites.padrao.utils.AbstractEntity;
import java.io.Serializable;
import javax.persistence.*;


/**
 *
 * @author Webhome
 */
@Entity
@Table(name="paditemcomposicaoproduto")
@NamedQueries({
@NamedQuery(name="br.com.webhomesites.padrao.model.ItemComposicaoProdutoModel.findMaxId", query ="SELECT MAX(id) from ItemComposicaoProdutoModel p"),
@NamedQuery(name="ItemComposicaoProdutoModel.findMaxIdByIdComposicaoProduto", query ="SELECT MAX(i.id) from ItemComposicaoProdutoModel i, ComposicaoProdutoModel l where l.id = :idComp and i.composicaoProdutoModel.id = l.id"),
@NamedQuery(name="ItemComposicaoProdutoModel.findByIdComposicaoProduto", query ="SELECT i FROM ItemComposicaoProdutoModel i, ComposicaoProdutoModel l where i.composicaoProdutoModel.id = l.produtoModelComposto.id and i.composicaoProdutoModel.id = :idComp"),        
})
public class ItemComposicaoProdutoModel extends AbstractEntity implements Serializable{
    
        private String descricaoProduto;
        private Double quantidade;
                          
     private ComposicaoProdutoModel composicaoProdutoModel;
     private ProdutoModel produtoModel;

    @ManyToOne
    @JoinColumn(name="codprodutoacessorio", referencedColumnName="codigo")
    public ProdutoModel getProdutoModel() {
        return produtoModel;
    }

    public void setProdutoModel(ProdutoModel produtoModel) {
        this.produtoModel = produtoModel;
    }    

    @ManyToOne
    @JoinColumn(name="codprodutocomposto", referencedColumnName="codigo")
    public ComposicaoProdutoModel getComposicaoProdutoModel() {
        return composicaoProdutoModel;
    }

    public void setComposicaoProdutoModel(ComposicaoProdutoModel composicaoProdutoModel) {
        this.composicaoProdutoModel = composicaoProdutoModel;
    }

    @Transient
    public String getDescricaoProduto() {
        return descricaoProduto;
    }

    public void setDescricaoProduto(String descricaoProduto) {
        this.descricaoProduto = descricaoProduto;
    }

    @Column(name="quantidade")
    public Double getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(Double quantidade) {
        this.quantidade = quantidade;
    }        

}
